package com.molichuxing.services.infrastructure.bean;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.molichuxing.framework.bean.RootBean;

public class OrderDealerBean extends RootBean {
    /**
     * id id
     */
    private Integer id;

    /**
     * 订单号 order_code
     */
    private Long orderCode;

    /**
     * 经销商id dealer_id
     */
    private Integer dealerId;

    /**
     * 分子公司id sub_company_id
     */
    private Integer subCompanyId;

    /**
     * 合同编号 contract_no
     */
    private String contractNo;

    /**
     * 合同签订日期 contract_sign_date
     */
    private LocalDateTime contractSignDate;

    /**
     * 起租日期 start_lease_date
     */
    private LocalDateTime startLeaseDate;

    /**
     * 还款日 repay_date
     */
    private Integer repayDate;

    /**
     * 租期（12：12月，24：24月，36：36月） tenancy
     */
    private Integer tenancy;

    /**
     * 付款周期（0：全款，1：月付，3：3月付，6：6月付，12：12月付） payment_cycle
     */
    private Integer paymentCycle;

    /**
     * 订单状态（1：创建订单，2：待首付款，3：已付首付款，4：等待发车，5： 等待收车，6： 完成采购） order_status
     */
    private Integer orderStatus;

    /**
     * 租售数量 rent_numbers
     */
    private Integer rentNumbers;

    /**
     * 总租金 rent_amount
     */
    private BigDecimal rentAmount;

    /**
     * 总保证金 deposit_amount
     */
    private BigDecimal depositAmount;

    /**
     * 总期数 total_periods
     */
    private Integer totalPeriods;

    /**
     * 创建时间 gmt_create
     */
    private LocalDateTime gmtCreate;

    /**
     * 更新时间 gmt_modified
     */
    private LocalDateTime gmtModified;

    /**
     * orders_order_dealer
     */
    private static final long serialVersionUID = 1L;

    /**
     * id
     * @date 2019-08-16 15:52:34
     * @return id id
     */
    @Override
	public Integer getId() {
        return id;
    }

    /**
     * id
     * @date 2019-08-16 15:52:34
     * @param id id
     */
    @Override
	public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 订单号
     * @date 2019-08-16 15:52:34
     * @return order_code 订单号
     */
    public Long getOrderCode() {
        return orderCode;
    }

    /**
     * 订单号
     * @date 2019-08-16 15:52:34
     * @param orderCode 订单号
     */
    public void setOrderCode(Long orderCode) {
        this.orderCode = orderCode;
    }

    /**
     * 经销商id
     * @date 2019-08-16 15:52:34
     * @return dealer_id 经销商id
     */
    public Integer getDealerId() {
        return dealerId;
    }

    /**
     * 经销商id
     * @date 2019-08-16 15:52:34
     * @param dealerId 经销商id
     */
    public void setDealerId(Integer dealerId) {
        this.dealerId = dealerId;
    }

    /**
     * 分子公司id
     * @date 2019-08-16 15:52:34
     * @return sub_company_id 分子公司id
     */
    public Integer getSubCompanyId() {
        return subCompanyId;
    }

    /**
     * 分子公司id
     * @date 2019-08-16 15:52:34
     * @param subCompanyId 分子公司id
     */
    public void setSubCompanyId(Integer subCompanyId) {
        this.subCompanyId = subCompanyId;
    }

    /**
     * 合同编号
     * @date 2019-08-16 15:52:34
     * @return contract_no 合同编号
     */
    public String getContractNo() {
        return contractNo;
    }

    /**
     * 合同编号
     * @date 2019-08-16 15:52:34
     * @param contractNo 合同编号
     */
    public void setContractNo(String contractNo) {
        this.contractNo = contractNo == null ? null : contractNo.trim();
    }

    /**
     * 合同签订日期
     * @date 2019-08-16 15:52:34
     * @return contract_sign_date 合同签订日期
     */
    public LocalDateTime getContractSignDate() {
        return contractSignDate;
    }

    /**
     * 合同签订日期
     * @date 2019-08-16 15:52:34
     * @param contractSignDate 合同签订日期
     */
    public void setContractSignDate(LocalDateTime contractSignDate) {
        this.contractSignDate = contractSignDate;
    }

    /**
     * 起租日期
     * @date 2019-08-16 15:52:34
     * @return start_lease_date 起租日期
     */
    public LocalDateTime getStartLeaseDate() {
        return startLeaseDate;
    }

    /**
     * 起租日期
     * @date 2019-08-16 15:52:34
     * @param startLeaseDate 起租日期
     */
    public void setStartLeaseDate(LocalDateTime startLeaseDate) {
        this.startLeaseDate = startLeaseDate;
    }

    /**
     * 还款日
     * @date 2019-08-16 15:52:34
     * @return repay_date 还款日
     */
    public Integer getRepayDate() {
        return repayDate;
    }

    /**
     * 还款日
     * @date 2019-08-16 15:52:34
     * @param repayDate 还款日
     */
    public void setRepayDate(Integer repayDate) {
        this.repayDate = repayDate;
    }

    /**
     * 租期（12：12月，24：24月，36：36月）
     * @date 2019-08-16 15:52:34
     * @return tenancy 租期（12：12月，24：24月，36：36月）
     */
    public Integer getTenancy() {
        return tenancy;
    }

    /**
     * 租期（12：12月，24：24月，36：36月）
     * @date 2019-08-16 15:52:34
     * @param tenancy 租期（12：12月，24：24月，36：36月）
     */
    public void setTenancy(Integer tenancy) {
        this.tenancy = tenancy;
    }

    /**
     * 付款周期（0：全款，1：月付，3：3月付，6：6月付，12：12月付）
     * @date 2019-08-16 15:52:34
     * @return payment_cycle 付款周期（0：全款，1：月付，3：3月付，6：6月付，12：12月付）
     */
    public Integer getPaymentCycle() {
        return paymentCycle;
    }

    /**
     * 付款周期（0：全款，1：月付，3：3月付，6：6月付，12：12月付）
     * @date 2019-08-16 15:52:34
     * @param paymentCycle 付款周期（0：全款，1：月付，3：3月付，6：6月付，12：12月付）
     */
    public void setPaymentCycle(Integer paymentCycle) {
        this.paymentCycle = paymentCycle;
    }

    /**
     * 订单状态（1：创建订单，2：待首付款，3：已付首付款，4：等待发车，5： 等待收车，6： 完成采购）
     * @date 2019-08-16 15:52:34
     * @return order_status 订单状态（1：创建订单，2：待首付款，3：已付首付款，4：等待发车，5： 等待收车，6： 完成采购）
     */
    public Integer getOrderStatus() {
        return orderStatus;
    }

    /**
     * 订单状态（1：创建订单，2：待首付款，3：已付首付款，4：等待发车，5： 等待收车，6： 完成采购）
     * @date 2019-08-16 15:52:34
     * @param orderStatus 订单状态（1：创建订单，2：待首付款，3：已付首付款，4：等待发车，5： 等待收车，6： 完成采购）
     */
    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    /**
     * 租售数量
     * @date 2019-08-16 15:52:34
     * @return rent_numbers 租售数量
     */
    public Integer getRentNumbers() {
        return rentNumbers;
    }

    /**
     * 租售数量
     * @date 2019-08-16 15:52:34
     * @param rentNumbers 租售数量
     */
    public void setRentNumbers(Integer rentNumbers) {
        this.rentNumbers = rentNumbers;
    }

    /**
     * 总租金
     * @date 2019-08-16 15:52:34
     * @return rent_amount 总租金
     */
    public BigDecimal getRentAmount() {
        return rentAmount;
    }

    /**
     * 总租金
     * @date 2019-08-16 15:52:34
     * @param rentAmount 总租金
     */
    public void setRentAmount(BigDecimal rentAmount) {
        this.rentAmount = rentAmount;
    }

    /**
     * 总保证金
     * @date 2019-08-16 15:52:34
     * @return deposit_amount 总保证金
     */
    public BigDecimal getDepositAmount() {
        return depositAmount;
    }

    /**
     * 总保证金
     * @date 2019-08-16 15:52:34
     * @param depositAmount 总保证金
     */
    public void setDepositAmount(BigDecimal depositAmount) {
        this.depositAmount = depositAmount;
    }

    /**
     * 总期数
     * @date 2019-08-16 15:52:34
     * @return total_periods 总期数
     */
    public Integer getTotalPeriods() {
        return totalPeriods;
    }

    /**
     * 总期数
     * @date 2019-08-16 15:52:34
     * @param totalPeriods 总期数
     */
    public void setTotalPeriods(Integer totalPeriods) {
        this.totalPeriods = totalPeriods;
    }

    /**
     * 创建时间
     * @date 2019-08-16 15:52:34
     * @return gmt_create 创建时间
     */
    @Override
	public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

    /**
     * 创建时间
     * @date 2019-08-16 15:52:34
     * @param gmtCreate 创建时间
     */
    @Override
	public void setGmtCreate(LocalDateTime gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * 更新时间
     * @date 2019-08-16 15:52:34
     * @return gmt_modified 更新时间
     */
    @Override
	public LocalDateTime getGmtModified() {
        return gmtModified;
    }

    /**
     * 更新时间
     * @date 2019-08-16 15:52:34
     * @param gmtModified 更新时间
     */
    @Override
	public void setGmtModified(LocalDateTime gmtModified) {
        this.gmtModified = gmtModified;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        OrderDealerBean other = (OrderDealerBean) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getOrderCode() == null ? other.getOrderCode() == null : this.getOrderCode().equals(other.getOrderCode()))
            && (this.getDealerId() == null ? other.getDealerId() == null : this.getDealerId().equals(other.getDealerId()))
            && (this.getSubCompanyId() == null ? other.getSubCompanyId() == null : this.getSubCompanyId().equals(other.getSubCompanyId()))
            && (this.getContractNo() == null ? other.getContractNo() == null : this.getContractNo().equals(other.getContractNo()))
            && (this.getContractSignDate() == null ? other.getContractSignDate() == null : this.getContractSignDate().equals(other.getContractSignDate()))
            && (this.getStartLeaseDate() == null ? other.getStartLeaseDate() == null : this.getStartLeaseDate().equals(other.getStartLeaseDate()))
            && (this.getRepayDate() == null ? other.getRepayDate() == null : this.getRepayDate().equals(other.getRepayDate()))
            && (this.getTenancy() == null ? other.getTenancy() == null : this.getTenancy().equals(other.getTenancy()))
            && (this.getPaymentCycle() == null ? other.getPaymentCycle() == null : this.getPaymentCycle().equals(other.getPaymentCycle()))
            && (this.getOrderStatus() == null ? other.getOrderStatus() == null : this.getOrderStatus().equals(other.getOrderStatus()))
            && (this.getRentNumbers() == null ? other.getRentNumbers() == null : this.getRentNumbers().equals(other.getRentNumbers()))
            && (this.getRentAmount() == null ? other.getRentAmount() == null : this.getRentAmount().equals(other.getRentAmount()))
            && (this.getDepositAmount() == null ? other.getDepositAmount() == null : this.getDepositAmount().equals(other.getDepositAmount()))
            && (this.getTotalPeriods() == null ? other.getTotalPeriods() == null : this.getTotalPeriods().equals(other.getTotalPeriods()))
            && (this.getGmtCreate() == null ? other.getGmtCreate() == null : this.getGmtCreate().equals(other.getGmtCreate()))
            && (this.getGmtModified() == null ? other.getGmtModified() == null : this.getGmtModified().equals(other.getGmtModified()));
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getOrderCode() == null) ? 0 : getOrderCode().hashCode());
        result = prime * result + ((getDealerId() == null) ? 0 : getDealerId().hashCode());
        result = prime * result + ((getSubCompanyId() == null) ? 0 : getSubCompanyId().hashCode());
        result = prime * result + ((getContractNo() == null) ? 0 : getContractNo().hashCode());
        result = prime * result + ((getContractSignDate() == null) ? 0 : getContractSignDate().hashCode());
        result = prime * result + ((getStartLeaseDate() == null) ? 0 : getStartLeaseDate().hashCode());
        result = prime * result + ((getRepayDate() == null) ? 0 : getRepayDate().hashCode());
        result = prime * result + ((getTenancy() == null) ? 0 : getTenancy().hashCode());
        result = prime * result + ((getPaymentCycle() == null) ? 0 : getPaymentCycle().hashCode());
        result = prime * result + ((getOrderStatus() == null) ? 0 : getOrderStatus().hashCode());
        result = prime * result + ((getRentNumbers() == null) ? 0 : getRentNumbers().hashCode());
        result = prime * result + ((getRentAmount() == null) ? 0 : getRentAmount().hashCode());
        result = prime * result + ((getDepositAmount() == null) ? 0 : getDepositAmount().hashCode());
        result = prime * result + ((getTotalPeriods() == null) ? 0 : getTotalPeriods().hashCode());
        result = prime * result + ((getGmtCreate() == null) ? 0 : getGmtCreate().hashCode());
        result = prime * result + ((getGmtModified() == null) ? 0 : getGmtModified().hashCode());
        return result;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", orderCode=").append(orderCode);
        sb.append(", dealerId=").append(dealerId);
        sb.append(", subCompanyId=").append(subCompanyId);
        sb.append(", contractNo=").append(contractNo);
        sb.append(", contractSignDate=").append(contractSignDate);
        sb.append(", startLeaseDate=").append(startLeaseDate);
        sb.append(", repayDate=").append(repayDate);
        sb.append(", tenancy=").append(tenancy);
        sb.append(", paymentCycle=").append(paymentCycle);
        sb.append(", orderStatus=").append(orderStatus);
        sb.append(", rentNumbers=").append(rentNumbers);
        sb.append(", rentAmount=").append(rentAmount);
        sb.append(", depositAmount=").append(depositAmount);
        sb.append(", totalPeriods=").append(totalPeriods);
        sb.append(", gmtCreate=").append(gmtCreate);
        sb.append(", gmtModified=").append(gmtModified);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}